ITableData : IUnknown

The ITableData interface provides utility methods for working with tables. Table data objects, or objects that implement ITableData, are provided by MAPI to help service providers perform table maintenance. To obtain a table data object, service providers call the CreateTableYIFK6J function.

Quick Info

Header file:

MAPIUTIL.H

Exposed by:

Table data objects

Implemented by:

MAPI

Called by:

Service providers

Corresponding pointer type:

LPTABLEDATA

 

Vtable Order

HrGetView211HM5R

Creates a table view, returning a pointer to an IMAPITable implementation.

HrModifyRow_.AY2.

Inserts a new table row, possibly replacing an existing row.

HrDeleteRow3_OB_JF

Deletes a table row.

HrQueryRow_CPE8

Retrieves a table row.

HrEnumRow1IDWUCG

Retrieves a row based on its position in the table.

HrNotifyXEY45I

Sends a notification for a table row.

HrInsertRowBCZY.6

Inserts a table row.

HrModifyRows12FX0F5

Inserts multiple table rows, possibly replacing existing rows.

HrDeleteRows1AG_SDB

Deletes multiple table rows.

 

Remarks

The MAPI implementation of ITableData works with tables by holding all of the data and any associated restrictions in memory, making it unsuitable for use with very large tables. Large restrictions and complex operations such as categorization are unsupported.

Table data objects identify rows using an index column   a property that is guaranteed to have a unique value for each row. Most service providers use the PR_INSTANCE_KEY9X7ABZ property as the index column. Multivalued properties cannot be used as an index column.

Table data objects generate a single notification regardless of the number of rows affected by a change or deletion. If a target row in an operation does not exist, a row is added.